home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cmln0586.arc / ALICE.LTG < prev    next >
Text File  |  1986-04-06  |  2KB  |  96 lines

  1.  
  2.                             Listing 1
  3. -
  4. program LetsPlayFindTheBug(input, output);
  5.  
  6. type
  7.     String = packed array [1..80] of char;  
  8.  
  9. var
  10.     InputLine : String;     
  11.  
  12. procedure FlushRight(var Line: String; Width: integer);
  13.     
  14.     var
  15.         Temp : String;  
  16.     
  17.     begin
  18.     Pad(Line, Width);
  19.     while Line[Width] <= ' ' do begin
  20.         Temp := Line;
  21.         Line := " ";
  22.         StrConcat(Line, Temp);
  23.         SubStr(Line, Width, 1, Line);
  24.         end;
  25.     end;
  26. procedure Pad(var Line: String; Width: integer);
  27.     
  28.     {Declarations}
  29.     begin
  30.     while StrLen(Line) < Width do begin
  31.         StrConcat(Line, " ");
  32.         end;
  33.     SubStr(Line, Width, 1, Line);
  34.     end;
  35. begin
  36. repeat
  37.     readln(InputLine);
  38.     FlushRight(InputLine, 30);
  39.     writeln(InputLine);
  40. until InputLine = "";
  41. writeln("Thank you for useing Alice");
  42. end.
  43. -
  44. - Listing 2
  45. -
  46. program TheCaseOfTheMissingLine(input, output);
  47.  
  48. function Factorial(I: integer) : integer;
  49.      
  50.     var
  51.         Result : integer;        
  52.     
  53.     begin
  54.     if I >= 2 then begin
  55.         Result := I*Factorial(I - 1);è        end
  56.      else begin
  57.         Result := 1;
  58.         end;
  59.     end;
  60. begin
  61. writeln(Factorial(7));
  62. end.
  63. -
  64. - Listing 3 
  65. -
  66. program CaseInPoint;
  67.     type
  68.         Groceries = ^Grocery;
  69.         Grocery = record
  70.             Brand    : packed array [1..20] of char;
  71.             Quantity : integer;
  72.             Next     : Groceries;
  73.             end;
  74.     var
  75.         GroceryList, Food : Groceries;
  76.     begin
  77.     new(Food);
  78.     with Food^ do 
  79.         repeat
  80.             write("What do you want? ");
  81.             readln(Brand);
  82.             if Brand <> "" then begin
  83.                 write("How much do you want? ");
  84.                 readln(Quantity);
  85.                 Next := Groceries;
  86.                 Groceries := Food;
  87.                 end;
  88.           until Brand = "";
  89.     dispose(Food);
  90.     Food := Groceries;
  91.     while Food <> nil do 
  92.         with Food^ do 
  93.             writeln(Quantity:5, "  ", Brand);
  94.     end.
  95.  
  96.